#ifndef SHOPDIALOG_H
#define SHOPDIALOG_H

#include "gamedialog.h"
#include "gs.h"

using namespace gs;
namespace gs{
class ShopDialog : public GameDialog
{
    Q_OBJECT
public:
    ShopDialog(GameDialogManager*, GameDialogBg*);
    int execDialog();
    void prepareStart();
    void organizeElements();
    QRectF boundingRect() const;
    void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
protected:
    ShopDialogBg* _bg;
    ShopDialogOwner* _owner;
    ShopDialogText* _text;
    QList<ShopDialogButton*> _buttons;
};

class HerbalistShopDialog : public ShopDialog
{
    Q_OBJECT
public:
    HerbalistShopDialog(GameDialogManager*, GameDialogBg*);
    void takeTaoItem();
};

class SorcererShopDialog : public ShopDialog
{
    Q_OBJECT
public:
    SorcererShopDialog(GameDialogManager*, GameDialogBg*);
    void discardGhost();
protected:
};

class PavilionShopDialog : public ShopDialog
{
    Q_OBJECT
public:
    PavilionShopDialog(GameDialogManager*, GameDialogBg*);
    void moveGhostAndPlayer();
protected:
};


class CemeteryShopDialog : public ShopDialog
{
    Q_OBJECT
public:
    CemeteryShopDialog(GameDialogManager*, GameDialogBg*);
    void faceupVillage();
protected:
};
}
#endif // SHOPDIALOG_H
